#ifndef wm_focus_cycle_h
#define wm_focus_cycle_h
/*
 * Sylvain BERTRAND <digital.ragnarok@gmail.com>
 * code protected by GNU GPL v3
 */
struct wm_client *focus_cycle_target;
void focus_cycle_startup(void);
void focus_cycle_shutdown(void);
struct wm_client *focus_cycle(gboolean forward, gboolean all_desktops, gboolean nonhilite_windows, gboolean desktop_windows,
	gboolean linear, gboolean interactive, gboolean showbar, gboolean done,
	gboolean cancel);
struct wm_client *focus_directional_cycle(enum wm_direction dir, gboolean desktop_windows, gboolean interactive,
	gboolean showbar, gboolean done, gboolean cancel);
void focus_cycle_addremove(struct wm_client *ifclient, gboolean redraw);
void focus_cycle_reorder();
gboolean focus_cycle_valid(struct wm_client *client);
#endif
